home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWAACH30.ZIP
/
AMI-CHAT.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-04-09
|
5KB
|
331 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Integer TINTEGER001(77)
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
;------------------------------------------------------------------------------
SaveScrn
PageOff
Sound 0
StartDisp 1
FreshLine
If (Exist(PPEPath() + PPEName() + ".CNF")) Goto LABEL001
STRING009 = "@" + "X" + "0" + "2"
STRING010 = "@" + "X" + "0" + "5"
INTEGER005 = 1
STRING006 = "Y" + "E" + "S"
STRING007 = "Y" + "E" + "S"
Goto LABEL002
:LABEL001
FOpen 1, PPEPath() + PPEName() + ".CNF", 0, 0
FGet 1, STRING009
FGet 1, STRING010
FGet 1, INTEGER005
FGet 1, STRING006
FGet 1, STRING007
FClose 1
:LABEL002
DispFile PPEPath() + PPEName() + "." + String(Random(INTEGER005 - 1) + 1), 0
INTEGER002 = Time()
If (Lower(Left(STRING007, 1)) == "y") Then
FAppend 2, PPEPath() + "CHATLOG." + String(PcbNode()), 1, 0
FPutLn 2, "Chat initiated with " + Upper(U_Name()) + " on " + String(Date()) + " at " + String(Time())
FPutLn 2, ""
INTEGER007 = 77
BOOLEAN006 = 1
Else
INTEGER007 = 79
Redim TINTEGER001, INTEGER007
Endif
:LABEL003
STRING002 = KInkey()
STRING003 = MInkey()
If ((STRING002 <> "") && !BOOLEAN004) Then
BOOLEAN003 = 1
STRING008 = "S>"
Gosub LABEL004
Else
STRING002 = ""
Endif
If ((STRING003 <> "") && !BOOLEAN003) Then
BOOLEAN004 = 1
STRING008 = "U>"
Gosub LABEL006
Else
STRING003 = ""
Endif
Goto LABEL003
:LABEL004
If (STRING002 <> Chr(27)) Then
If (InStr(Mask_Ascii(), STRING002) <> 0) Then
Print STRING009, STRING002
STRING001 = STRING001 + STRING002
Endif
If ((STRING002 == Chr(8)) && (Len(STRING001) > 0)) Then
Backup 1
Print " "
Backup 1
STRING001 = Left(STRING001, Len(STRING001) - 1)
Endif
If (STRING002 == Chr(13)) Then
If (BOOLEAN006 && !(STRING001 == "")) Then
FPutLn 2, STRING008 + ReplaceStr(STRING001, "@", "%")
BOOLEAN001 = 0
Endif
If ((BOOLEAN006 && (STRING001 == "")) && !BOOLEAN001) Then
FPutLn 2, ""
BOOLEAN001 = 1
Endif
Newline
INTEGER006 = 0
BOOLEAN005 = 0
STRING001 = ""
BOOLEAN003 = 0
Endif
If (Len(STRING001) == INTEGER007) Then
For INTEGER008 = INTEGER007 To 1 Step -1
TINTEGER001(INTEGER008) = Asc(Mid(STRING001, INTEGER008, 1))
If (TINTEGER001(INTEGER008) == 32) Then
INTEGER006 = INTEGER008
If (!BOOLEAN005) BOOLEAN005 = 1
Break
Endif
Next
If (BOOLEAN005) Then
STRING004 = Mid(STRING001, INTEGER006 + 1, INTEGER007 - INTEGER006)
STRING005 = Mid(STRING001, 1, INTEGER006 - 1)
If (BOOLEAN006) FPutLn 2, STRING008 + ReplaceStr(STRING005, "@", "%")
Backup INTEGER007 - INTEGER006
ClrEol
Newline
STRING001 = STRING004
For INTEGER008 = 1 To Len(STRING001) Step 3
Print Trim(Mid(STRING001, INTEGER008, 3), " ")
Next
INTEGER006 = 0
BOOLEAN005 = 0
Goto LABEL005
Endif
If (BOOLEAN006) FPutLn 2, STRING008 + ReplaceStr(STRING001, "@", "%")
Newline
INTEGER006 = 0
BOOLEAN005 = 0
STRING001 = ""
Endif
:LABEL005
Else
Goto LABEL008
Endif
Return
:LABEL006
If (InStr(Mask_Ascii(), STRING003) <> 0) Then
Print STRING010, STRING003
STRING001 = STRING001 + STRING003
Endif
If ((STRING003 == Chr(8)) && (Len(STRING001) > 0)) Then
Backup 1
Print " "
Backup 1
STRING001 = Left(STRING001, Len(STRING001) - 1)
Endif
If (STRING003 == Chr(13)) Then
If (BOOLEAN006 && !(STRING001 == "")) Then
FPutLn 2, STRING008 + ReplaceStr(STRING001, "@", "%")
BOOLEAN002 = 0
Endif
If ((BOOLEAN006 && (STRING001 == "")) && !BOOLEAN002) Then
FPutLn 2, ""
BOOLEAN002 = 1
Endif
Newline
INTEGER006 = 0
BOOLEAN005 = 0
STRING001 = ""
BOOLEAN004 = 0
Endif
If (Len(STRING001) == INTEGER007) Then
For INTEGER008 = INTEGER007 To 1 Step -1
TINTEGER001(INTEGER008) = Asc(Mid(STRING001, INTEGER008, 1))
If (TINTEGER001(INTEGER008) == 32) Then
INTEGER006 = INTEGER008
If (!BOOLEAN005) BOOLEAN005 = 1
Break
Endif
Next
If (BOOLEAN005) Then
STRING004 = Mid(STRING001, INTEGER006 + 1, INTEGER007 - INTEGER006)
STRING005 = Mid(STRING001, 1, INTEGER006 - 1)
If (BOOLEAN006) FPutLn 2, STRING008 + ReplaceStr(STRING005, "@", "%")
Backup INTEGER007 - INTEGER006
ClrEol
Newline
STRING001 = STRING004
For INTEGER008 = 1 To Len(STRING001) Step 3
Print Trim(Mid(STRING001, INTEGER008, 3), " ")
Next
INTEGER006 = 0
BOOLEAN005 = 0
Goto LABEL007
Endif
If (BOOLEAN006) FPutLn 2, STRING008 + ReplaceStr(STRING001, "@", "%")
Newline
INTEGER006 = 0
BOOLEAN005 = 0
STRING001 = ""
Endif
:LABEL007
Return
:LABEL008
If (!(STRING001 == "") && BOOLEAN006) Then
FPutLn 2, STRING008 + ReplaceStr(STRING001, "@", "%")
Goto LABEL009
Endif
:LABEL009
If (BOOLEAN006) Then
FPutLn 2, ""
FPutLn 2, "Chat ended with " + Upper(U_Name()) + " on " + String(Date()) + " at " + String(Time())
FPutLn 2, "──────────────────────────────────────────────────────────────────────────────"
FClose 2
Endif
RestScrn
INTEGER003 = Time()
If (Lower(Left(STRING006, 1)) == "y") Then
INTEGER004 = (INTEGER003 - INTEGER002) / 60
If (INTEGER004 < 0) INTEGER004 = INTEGER004 + 86400
AdjTime INTEGER004
Endif
KbdStuff Chr(27)
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 2 ClrEol
; 44 Goto
; 66 Let
; 6 Print
; 35 If
; 1 DispFile
; 1 FOpen
; 1 FAppend
; 2 FClose
; 5 FGet
; 14 FPutLn
; 1 StartDisp
; 1 AdjTime
; 2 Gosub
; 2 Return
; 6 Newline
; 1 KbdStuff
; 6 Backup
; 1 FreshLine
; 1 SaveScrn
; 1 RestScrn
; 1 Sound
; 1 PageOff
; 1 Redim
;
;
; ■ Functions used :
;
; 6 -
; 1 /
; 46 +
; 10 -
; 15 ==
; 5 <>
; 5 <
; 4 <=
; 2 >
; 8 >=
; 37 !
; 19 &&
; 4 ||
; 10 Len(
; 2 Lower()
; 2 Upper()
; 8 Mid()
; 4 Left()
; 6 Chr()
; 2 Asc()
; 2 InStr()
; 2 Trim()
; 1 Random()
; 2 Date()
; 4 Time()
; 2 U_Name()
; 6 String()
; 2 Mask_Ascii()
; 4 PPEPath()
; 1 PcbNode()
; 1 Exist()
; 3 PPEName()
; 1 KInkey()
; 1 MInkey()
; 7 ReplaceStr()
;
;------------------------------------------------------------------------------
;
; Analysis flags : A
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 0 While/EndWhile
; 23 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------